package com.llz.leaveApply.demo;


public class Demo3 {
    public static void main(String[] args) {
        Father f = new Son();

        System.out.println(f.x);  // 10
        f.test();  // 我是Son里的test
        ((Son)f).demo();  // 强制类型转换，告诉编译器f是Son类型


        /*
        多态:
        访问属性时，看的都是等号左边声明的类型
        调用方法时，编译看等号左边声明的类型，运行看的是等号右边对象的类型
         */
    }
}

class Father {
    int x = 10;
    public void test() {
        System.out.println("我是Father里的test");
    }
}

class Son extends Father {
    int x = 5;

    @Override
    public void test() {
        System.out.println("我是Son里的test");
    }

    public void demo() {
        System.out.println("我是Son里的demo方法");
    }
}
